package gestion.horarios.model.jpa.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the cursopropuesto database table.
 * 
 */
@Entity
@Table(name="cursopropuesto")
public class CursoPropuesto implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cursoPropuestoId;
	private String codigo;
	private String estado;
	private String nombre;
	private String sumilla;
	private List<Curso> cursos;
	private LineaMallaCurricular lineamallacurricular;
	private DetalleMallaCurricular detallemallacurricular;

    public CursoPropuesto() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(unique=true, nullable=false)
	public int getCursoPropuestoId() {
		return this.cursoPropuestoId;
	}

	public void setCursoPropuestoId(int cursoPropuestoId) {
		this.cursoPropuestoId = cursoPropuestoId;
	}


	@Column(length=45)
	public String getCodigo() {
		return this.codigo;
	}

	public void setCodigo(String codigo) {
		this.codigo = codigo;
	}


	@Column(length=45)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


	@Column(length=45)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


    @Lob()
	public String getSumilla() {
		return this.sumilla;
	}

	public void setSumilla(String sumilla) {
		this.sumilla = sumilla;
	}


	//bi-directional many-to-one association to Curso
	@OneToMany(mappedBy="cursopropuesto")
	public List<Curso> getCursos() {
		return this.cursos;
	}

	public void setCursos(List<Curso> cursos) {
		this.cursos = cursos;
	}
	

	//bi-directional many-to-one association to LineaMallaCurricular
    @ManyToOne
	@JoinColumn(name="LineaMallaCurricularId", nullable=false)
	public LineaMallaCurricular getLineamallacurricular() {
		return this.lineamallacurricular;
	}

	public void setLineamallacurricular(LineaMallaCurricular lineamallacurricular) {
		this.lineamallacurricular = lineamallacurricular;
	}
	

	//bi-directional many-to-one association to DetalleMallaCurricular
    @ManyToOne
	@JoinColumns({
		@JoinColumn(name="DetalleMallaCurricularId", referencedColumnName="DetalleMallaCurricularId", nullable=false),
		@JoinColumn(name="MallaCurricularId", referencedColumnName="MallaCurricularId", nullable=false)
		})
	public DetalleMallaCurricular getDetallemallacurricular() {
		return this.detallemallacurricular;
	}

	public void setDetallemallacurricular(DetalleMallaCurricular detallemallacurricular) {
		this.detallemallacurricular = detallemallacurricular;
	}
	
}